النهاردة بقا هنتكلم على الجوزرم مشهور جدا هو Searching Algorithms
دردشة
البوست اللى فات عرفنا يعنى أيه Algorithms
النهاردة بقا هنتكلم على الجوزرم مشهور جدا هو Searching Algorithms
--------------------------------------------------------------------------------------------------------------------------------------
ال search algorithm اتصمم عشان تعمل فانكشن تدور بيها على عنصر جوا الداتا بتاعتك عشان ترجع ليك true لو موجود او false لو مش موجود
او ممكن ترجع ليك عنصر انت بتدور عليه فى الداتا عندك.
ال search algorithms عندك بينقسموا ال two categories او نوعين.

لو انت عندك list or array انت عشان عايز تدور على عنصر جواها بتعمل ايه بتعمل loop تمشى على ال array دى عنصر عنصر لحد ما تلاقيه النوع دا بيعمتد على كدا وبتستخدمه فى حاله انك بتدور عشوائى ودا مفيش منه غير algorithm واحد بيستخدمها هو Linear Search

ال algorithms اللى بتكون تبع النوع دا بتشتغل
على sorted data-structures ودى بتكون اكثر كفاءه ليه لانها بتقسم الداتا كل مره لنصفين وتبدا تستبعد جزء وتدور فى التانى وتكرر الموضوع دا لحد ما توصل مثال على النوع دا
Binary Search
---------------------------------------------------------------------------------------------------------------
مثال
تعالى كدا نتخيل لو جمعنا أسماء الناس اللى على الكوكب كله وحبينا ندور على أسمك تفتكر لو استخدمنا مره Linear ,ومره binary .

هتحتاج تلف على كل اسم تشوف هل بيساوى أسمك ولا لا يعنى لو احنا معانا List فيها 7 مليار وويجز فى وحده 

واسمك اخر اسم يبقى محتاج تلف 7 مليار مره فى ال worst case
اللى هى عندك هنا هتكون O(n شوف بقا هتاخد وقت قد ايه استخدم القانون بقا من البوست اللى فات


فى الالجورزم دا لو اسمك برضو اخر اسم اكتر حاجه هتاخدها 35 مره شوف بقا من بعد ما كنت هتلف 7 مليار بقت 35 متخيل وفرت وقت قد ايه
لانها بتتقسم كل مره ف worst case هتكون log n
---------------------------------------------------------------------------------------------------------------
الشرح
--------------------------------------------------------------------------------------------------------------------------------------
الى اللقاء
طبعا فى انواع تانيه كتير لكن دا الاتنين دول بالذات فيه تباين بينهم فالمعظم بيشرح بيهم عشان يبان الفرق ممكن تسرش وتشوف algorithms تانيه للسيرش .
غير ان انت كمان ممكن تستخدم الفانكشن ال built in اللى فى اللغه وتخلص نفسك بس اوقات انت بتكون عايز تسيرش بطريقه معينه او تزود عمليه او تفلتر حاجه من الداتا اللى راجعه بحيث مش ترجع كلها او ايا كان عشان كدا لازم تعرف كل الجوزرم بيشتغل ازى مش تكتب كود وخلاص.
بس كدا انا خلصت عندكوا اى تعليقات او اضافه ياريت تعرفونا ومتنساش تعمل لايك وشير وصبصكرايب معلش اندمجت شويه



يلا سلاااااام.
Comments
Post a Comment